//
//  retrieve_dart_defines.sh
//  Runner
//
//  Created by MrHong on 2024/2/21.
//

#!/bin/sh

#输出 EnvConfig.xcconfig 文件
OUTPUT_FILE="${SRCROOT}/Flutter/EnvConfig.xcconfig"

#Flutter 2.2以后需要的Dart-Defines解码处理
function decode_url() { echo "${*}" | base64 --decode; }

#首先将文件内容清空
: > $OUTPUT_FILE

IFS=',' read -r -a define_items <<<"$DART_DEFINES"

for index in "${!define_items[@]}"
do
    #Flutter 2.2之后执行必要的解码
    item=$(decode_url "${define_items[$index]}")
    #含有APP_的Dart Define的情况
    if [ $(echo $item | grep 'APP_') ] ; then
        #APP_的值(=的右侧)
        value=${item#*=}
        #使对应的key-vlaue写入 OUTPUT_FILE
        # echo "#include \"$value.xcconfig\"" >> $OUTPUT_FILE
        echo "$item" >> $OUTPUT_FILE
    fi
done
